﻿using System.ComponentModel;

namespace Stimulus360.Models.Data
{
    /// <summary>
    ///     Enum to represent Idea Status
    /// </summary>
    public enum IdeaStatus
    {
        Polling = 0,
        Reviewing = 1,
        Accepted = 2,
        Rejected = 3,
        Postponed = 4
    }

    /// <summary>
    ///     Enum to represent Project Status
    /// </summary>
    public enum ProjectStatus
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1726:UsePreferredTerms", MessageId = "Cancelled", Justification ="Cancelled is an accepted term in the American English vocabulary")]
        Cancelled,
        Completed,
        Postponed,
        InProgress

    }

    /// <summary>
    ///     Enum to represent photo types
    /// </summary>
    public enum PhotoType
    {
        None = 0,
        Jpeg = 1,
        Jpg = 2,
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Png",Justification ="Png is a valid photo type")]
        Png = 3,
        Gif = 4,
        Bmp = 5
    }

    /// <summary>
    ///     Enum to represent document types
    /// </summary>
    public enum DocType
    {
        [Description("Invalid")]
        None=0,
        [Description("application/pdf")]
        Pdf = 1,
        [Description("application/msword")]
        Doc = 2,
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Docx", Justification ="Docx is a valid document type")]
        [Description("application/vnd.openxmlformats-officedocument.wordprocessingml.document")]
        Docx = 3
    }

    /// <summary>
    ///     Enum representing the various search criteria.
    /// </summary>
    public enum SearchCriteria
    {
        [Description("Status: ")]
        Status,
        [Description("Created on or After: ")]
        Date,
        [Description("Top ")]
        Top,
        [Description("Volunteers: ")]
        Volunteers,
        [Description("Search Text: ")]
        SearchText
    }
}
